package application;

/**
*	@(#) ConcreteSelection.java
*
*	Une selection concrete implementant l'interface ClipBoard.
*
*	@see Selection
*/
public class ConcreteSelection implements Selection{
	
	/**
	*	L'indice de debut de cette selection.
	*/
	private Integer begin;

	/**
	*	L'indice de fin de cette selection.
	*/
	private Integer end;
	
	/**
	*	Constructeur ConcreteSelection.
	*/
	public ConcreteSelection(){
		this.begin=0;
		this.end=0;
	}
	
	/**
	*	Met a jour l'indice de debut de selection de cette selection.
	*
	*	@param begin
	*				Le nouvel indice de debut.
	*/
	public void setBegin(Integer begin){
		if (begin>=0) {
			this.begin=begin;
		}
		else {
			this.begin=0;
		}
	}
	
	/**
	*	Met a jour l'indice de fin de selection de cette selection.
	*
	*	@param end
	*				Le nouvel indice de fin.
	*/
	public void setEnd(Integer end){
		if (end>=0) {
			this.end=end;
		}
		else {
			this.end=0;
		}
	}
	
	/**
	*	@return L'indice de debut de cette selection.
	*/
	public Integer getBegin(){
		return this.begin;
	}
	
	/**
	*	@return L'indice de fin de cette selection.
	*/
	public Integer getEnd(){
		return this.end;
	}
	
	/**
	*	@return Un clone de cette selection.
	*/
	public Selection clone(){
		Selection s = new ConcreteSelection();
		s.setBegin(this.begin);
		s.setEnd(this.end);
		return s;
	}
	
}
